package br.com.virtual.recomendar.dao;

import java.util.List;

import br.com.virtual.cadastrar.model.Pessoa;
import br.com.virtual.cadastrar.model.Produto;
import br.com.virtual.recomendar.model.Avaliacao;

public interface AvaliacaoDAO {

	Avaliacao create(Avaliacao avaliacao);

	Avaliacao read(Long id);

	Avaliacao update(Avaliacao avaliacao);

	void delete(Avaliacao avaliacao);

	List<Avaliacao> list();
	
	List<Avaliacao> listByPessoa(Pessoa pessoa);
	
	List<Avaliacao> listByProduto(Produto produto);

	Avaliacao getAvaliacao(Produto produtoAvaliado, Pessoa avaliador);

	boolean hasAvaliacao(Pessoa pessoa);
}
